查看原文
其他

如果Ctrl+F也找不到想要的数据怎么办

2017-03-10 机智的怪阿姨 小张聊科研

X湿兄经常丢三拉四找不到东西,有一次翻找了N久之后实在找不到,然后一本正经地说念道:“开启写轮眼,吧啦吧啦‘Ctrl+F’赐予我力量!~~~~~”本宫一口水差点呛死,这逗B!


不过Ctrl+F确实是最常用的查找工具了,不论是浏览器


还是WORD


 

还是EXCEL


都能通过Ctrl+F召唤出想要看到的东西。


不过总有那么些时候,尤其是在EXCEL的大数据中,Ctrl+F不能完全满足我们的需求,比如说我们想看看小张聊科研的平台管理员中哪些是机智的,搜“机智”只能搜到机智的怪阿姨,那么机智的小张和机智的梦熊如何能被我们搜出来呢?

 


今天就给大伙说说EXCEL中查找以及引用函数的一些用法。


一、行号和列号函数


函数介绍

ROW函数是行号函数,返回值是该单元格的行号,比如输入=ROW(C2),返回值就是2

如果参数省略,那么返回值为当前单元格的行号,比如在A4单元格输入=ROW(),那么返回值即为4

COLUMN函数是列号函数,用法同ROW函数。

 

应用1-生成连续序号

一份数据表,如果我们直接在最左边利用自动填充功能增加序号,那么在后续的数据处理过程中可能因为排序、增减数据等原因而打乱排序,而利用ROW函数生成连续序号则不会出现上述问题。


我们在第19行的位置输入=ROW()-18,然后利用自动填充功能即可。


 

应用2-生成递增序号

如果我们想要生成一串每隔几行递增一次的序号,可以使用INT函数配合ROW函数。

INT函数是一个取整的函数,比如=INT(3.1415),返回的结果就是3


所以在这里,我们想要生成一个每4行递增1的序号,由于是从第19行开始,所以我们用(ROW()-15)/4作为起始数字,即(19-15)/4=1,第19-22行都是1,到了第23行就变成了8/4=2。下面的序号使用自动填充功能即可。

 

应用3-生成循环序号

如果我们想要生成一串1,2,3循环编号的序列,可以使用MOD函数配合ROW函数。


MOD函数是一个取余数的函数,比如=MOD(3,2)就是计算3除以2的余数是多少,返回值自然就是1


所以这里第19行我们就用=MOD((ROW()-19),3)+1作为起始数字,下面的序号使用自动填充功能即可。

 

应用4-将一列数据转换成多行多列

图中有一列数据,我们希望转换成多行多列显示或打印。


这里我们用到了INDIRECT函数,这个函数可以根据参数中的文本来生成具体的单元格位址从而对该单元格进行引用,举例来说,=INDIRECT("A"&A1)"A"表示的就是字符A&文本连接符,A1的内容是2,所以合起来解读就是“我要引用A2单元格的值”,所以返回的就是A2单元格的内容4


所以看我们上面用的公式=INDIRECT("A"&5*ROW(A1)-5+COLUMN(A1))&"",在第1行中"A"&5*ROW(A1)-5+COLUMN(A1)返回值就是A(5*1-5+1)=A1,向下复制公式(即图中D2单元格)就成了A(5*2-5+1)=A6,向右复制公式(即图中E1单元格)就成了A(5*1-5+2)=A2。公式最后是&"",因为如果INDIRECT返回的引用是空单元格时,就会返回0值,连接这样一个空文本就能使无意义的0值显示为空白

 

二、VLOOKUP函数

VLOOKUP函数虽然有4个参数,但实际应用起来并没有看上去那么复杂。

我们直接通过举例子来解读这些参数的用法。


应用1

比如说我们关注(筛选差异基因呀、文献调研呀之类)左边这一列基因,那么如何到右边的总表中提取出左边这一列基因的详细信息呢?

 

比如说我们想了解这一列基因的p-value,我们使用

=VLOOKUP(B2:B13,C2:AG207,2,FALSE)这一公式进行查找。

第一个参数B2:B13表示的是我们想要查询的值(即我们关注的这一列基因),第二个参数C2:AG207是我们查询的范围(即这个总表的范围),第三个参数是我们想要查询结果在查询范围里位于第几列(p-value虽然位于整个表格的第4列,但在总表范围中处于第2列,所以这里的参数是2而不是4),第四个参数FALSE表示精确匹配(一般不用TRUE,查询结果往往会爆炸,不知道返回的是什么鬼)。



应用2

Vlookup函数作为垂直查询函数,存在一个缺陷,就是只能返回第一个符合条件的值,比如说芯片数据中经常会出现多个探针ID对应同一个基因,那么我们用基因名进行查找时,只能返回一条记录。这里我们借助简单的辅助列即可返回多个符合条件的记录

首先我们利用公式=(D2=$B$2)+C1构建辅助列,这里$B$2表示绝对引用,在复制公式的过程中,该引用值不会发生变化,这个公式的意思就是说,如果D列中的值和B2单元格中我们想要查找的值一致,那么就返回1,否则返回0。所以说这个公式的意义就是如果出现与查找值一致的单元格,辅助列的序号就会加1,否则保持不变。

接下来我们运用下列公式即可完成查找=VLOOKUP(ROW(C1),C:E,3,FALSE),这里运用ROW(C1)相当于查找一个等差数列,C:E表示查询范围为C列到E列,即我们在辅助列中依次查找等于1,2,3,4。。。的记录,最终找到4条记录。


好了,今天主要介绍了行列号函数以及vlookup的使用,后续还会介绍别的查找函数的使用。


请长按二维码识别关注“小张聊科研”。

关注后获取《科研修炼手册》1.0、2.0、3.0、基金篇精华合集。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存